#include <iostream>
using std::cout;
using std::endl;

int add(int a, int b){
    return a + b;
}


void test(){
    //如何定义一个函数指针呢？
    //返回类型 (函数指针变量名称)(参数类型)
    int (*pFunc)(int,int) = add;


    long a = 10;
    //下面两种方式是完全等价的
    cout << a;
    cout.operator<<(a);
    //为什么能够实现这种链式的写法????
    //链式编程
    //主要的原因在于cout << a返回结果类型依然是cout本身
    cout << a << endl;
}

class Point{


private:
    int _x;
    int _y;
};

void test2(){
    Point pt, pt2;
    //这里面的这两种方式也是完全等价的
    pt = pt2;
    pt.operator=(pt2);
}

int main()
{
    test();
    return 0;
}

